"""
定义接口测试用例
使用unittest
1.导包
2.创建测试类
    2.1 前置处理
    2.2 后置处理
    2.3 创建测试方法
"""

# 定义接口测试用例
# 使用unittest
# 1.导包
import app
import requests
import unittest

from aip.login import LoginAPI

class TestLogin(unittest.TestCase):
    def setUp(self):
        self.login_api = LoginAPI()

    # 创建方法
    # 登录成功
    def test01_login_success(self):
        response = self.login_api.login({"mobile":"13800000002", "password":"123456"})
        print(response.json())
    # 断言
        self.assertEqual(200, response.status_code)
        self.assertEqual(True, response.json().get("success"))
        self.assertEqual(10000, response.json().get("code"))
        self.assertIn("操作成功",response.json().get("message"))

        # 提取token信息
        app.TOKEN = "Bearer "+response.json().get("data")
        app.headers_data["Authorization"] = app.TOKEN
        # print(app.headers_data["Authorization"])
        print(app.headers_data)



    # 账号不写
    def test02__is_not_mobile(self):
        response = self.login_api.login({"mobile": "", "password": "123456"})
        print(response.json())
        # 断言
        self.assertEqual(200, response.status_code)
        self.assertEqual(False, response.json().get("success"))
        self.assertEqual(20001, response.json().get("code"))
        self.assertIn("用户名或密码错误", response.json().get("message"))

    # 密码不写
    def test03_is_not_password(self):
        response = self.login_api.login({"mobile": "13800000002", "password": ""})
        print(response.json())
        # 断言
        self.assertEqual(200, response.status_code)
        self.assertEqual(False, response.json().get("success"))
        self.assertEqual(20001, response.json().get("code"))
        self.assertIn("用户名或密码错误", response.json().get("message"))
